<?php

declare(strict_types=1);

namespace App\Job;

use App\Model\Normal;
use App\Model\Order;
use Hyperf\AsyncQueue\Job;

class CheckJob extends Job
{
    public string $orderNum;

    /**
     * 任务执行失败后的重试次数，即最大执行次数为 $maxAttempts+1 次
     */
    protected int $maxAttempts = 2;


    public function __construct($orderNum)
    {
        // 这里最好是普通数据，不要使用携带 IO 的对象，比如 PDO 对象
        $this->orderNum = $orderNum;
    }

    public function handle()
    {
        $orderModel = Order::where('number', $this->orderNum)->first();
        if (!$orderModel) {
            Normal::logger('订单' . $this->orderNum . '不存在', 'order-queue', 'error');
            return '';
        }
        $orderModel->stop('计时结束自动断电',$orderModel->surplus_electricity,true);
    }
}
